package com.jrx.anytxn.param.dto.investor;

import com.jrx.anytxn.param.entity.PrInvestorLimit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 表：出资方 请求参数表
 * @author 黄秋平
 * @date 2020-05-12 10:33
 **/
@ApiModel(description = "出资方定义表PrInvestorTableReq")
public class PrInvestorTableReq implements Serializable {

       private static final long serialVersionUID = -3560920870575390809L;

        @ApiModelProperty(value = "出资方额度表")
        private List<PrInvestorLimit> con;

        public List<PrInvestorLimit> getCon() {
            return con;
        }

        public void setCon(List<PrInvestorLimit> con) {
            this.con = con;
        }

         /**
         * 主键
         * 表字段:id
         */
        @ApiModelProperty(value = "主键id", name = "id")
        private Long id;

        /**
         * 租戶id
         * 表字段:tenant_id
         */
        @ApiModelProperty(value = "租户ID")
        private String tenantId;


        /**
         * 资金源id
         * 表字段:fund_id
         */
        @ApiModelProperty(value = "出资方id", name = "InvestorId")
        private String InvestorId;

        /**
         * 资金源机构号
         * 表字段:organization_id
         */
        @ApiModelProperty(value = "资金源机构号", name = "organizationId")
        private String organizationId;

        /**
         * 中文名称
         * 表字段:chinese_name
         */
        @ApiModelProperty(value = "中文名称", name = "chineseName")
        private String chineseName;

        /**
         * 英文名称
         * 表字段:english_name
         */
        @ApiModelProperty(value = "英文名称", name = "englishName")
        private String englishName;

        /**
         * 状态
         * 表字段:status
         */
        @ApiModelProperty(value = "状态", name = "status")
        private String tableStatus;

        /**
         * 类型
         * 表字段:type
         */
        @ApiModelProperty(value = "类型", name = "type")
        private String tableType;

        /**
         * 机构法人
         * 表字段:legal_person
         */
        @ApiModelProperty(value = "机构法人", name = "legalPerson")
        private String legalPerson;

        /**
         * 电话号码
         * 表字段:phone
         */
        @ApiModelProperty(value = "电话号码", name = "phone")
        private String phone;

        /**
         * 偏好值
         * 表字段:preference_value
         */
        @ApiModelProperty(value = "偏好值", name = "preferenceValue")
        private Integer preferenceValue;

        /**
         * 手续费率
         * 表字段:fee_rate
         */
        @ApiModelProperty(value = "手续费率", name = "feeRate")
        private BigDecimal feeRate;

        /**
         * 机构单笔贷款最大值
         * 表字段:single_max_limit
         */
        @ApiModelProperty(value = "机构单笔贷款最大值", name = "singleMaxLimit")
        private BigDecimal singleMaxLimit;

        /**
         * 机构单笔贷款最小值
         * 表字段:single_min_limit
         */
        @ApiModelProperty(value = "机构单笔贷款最小值", name = "singleMinLimit")
        private BigDecimal singleMinLimit;

        /**
         * 代偿标识
         * 表字段:compensation_flag
         */
        @ApiModelProperty(value = "代偿标识", name = "compensationFlag")
        private String compensationFlag;

        /**
         * 代偿天数
         * 表字段:compensation_days
         */
        @ApiModelProperty(value = "代偿天数", name = "compensationDays")
        private Integer compensationDays;

        /**
         * 连续代偿期数
         * 表字段:continuous_compensation_tenors
         */
        @ApiModelProperty(value = "连续代偿期数", name = "continuousCompensationTenors")
        private Integer continuousCompensationTenors;

        /**
         * 累计代偿期数
         * 表字段:total_compensation_tenors
         */
        @ApiModelProperty(value = "累计代偿期数", name = "totalCompensationTenors")
        private Integer totalCompensationTenors;

        /**
         * 是否回购标志
         * 表字段:bal_trans_flag
         */
        @ApiModelProperty(value = "是否回购标志", name = "balTransFlag")
        private String balTransFlag;

        /**
         * 回购期数
         * 表字段:bal_trans_tenors
         */
        @ApiModelProperty(value = "回购期数", name = "balTransTenors")
        private Integer balTransTenors;

        /**
         * 机构备付金账户
         * 表字段:prepaid_account
         */
        @ApiModelProperty(value = "机构备付金账户", name = "prepaidAccount")
        private String prepaidAccount;

        /**
         * 机构备付金账户阈值
         * 表字段:prepaid_threshold_amount
         */
        @ApiModelProperty(value = "机构备付金账户阈值", name = "prepaidThresholdAmount")
        private BigDecimal prepaidThresholdAmount;

        /**
         * 垫资备付金账户
         * 表字段:transit_account
         */
        @ApiModelProperty(value = "垫资备付金账户", name = "transitAccount")
        private String transitAccount;

        /**
         * 垫资备付金账户阈值
         * 表字段:transit_threshold_amount
         */
        @ApiModelProperty(value = "垫资备付金账户阈值", name = "transitThresholdAmount")
        private BigDecimal transitThresholdAmount;

        /**
         * 机构风险
         * 表字段:risk
         */
        @ApiModelProperty(value = "机构风险", name = "risk")
        private String risk;

        /**
         * 机构规模
         * 表字段:scale
         */
        @ApiModelProperty(value = "机构规模", name = "scale")
        private String orgScale;

        /**
         * 最后更新操作员
         * 表字段:update_by
         */
        private String updateBy;

        /**
         * 授信审批模式1 无需审批2 需要审批
         * 表字段:credit_approve_flag
         */
        @ApiModelProperty(value = "授信审批模式", name = "creditApproveFlag")
        private String creditApproveFlag;

        /**
         * 借款审批模式1 无需审批2 需要审批
         * 表字段:loan_approve_flag
         */
        @ApiModelProperty(value = "借款审批模式", name = "loanApproveFlag")
        private String loanApproveFlag;

        /**
         * 授信额度
         * 表字段:investor_credit_limit
         */
        @ApiModelProperty(value = "授信额度", name = "investorCreditLimit")
        private BigDecimal investorCreditLimit;

        /**
         * 授信已用额度
         * 表字段:investor_used_credit_limit
         */
        @ApiModelProperty(value = "授信已用额度", name = "investorUsedCreditLimit")
        private BigDecimal investorUsedCreditLimit;

        /**
         * 授信可用额度
         * 表字段:investor_avail_credit_limit
         */
        @ApiModelProperty(value = "授信可用额度", name = "investorAvailCreditLimit")
        private BigDecimal investorAvailCreditLimit;

        /**
         * 放款额度
         * 表字段:investor_loan_limit
         */
        @ApiModelProperty(value = "放款额度", name = "investorLoanLimit")
        private BigDecimal investorLoanLimit;

        /**
         * 放款已用额度
         * 表字段:investor_used_loan_limit
         */
        @ApiModelProperty(value = "放款已用额度", name = "investorUsedLoanLimit")
        private BigDecimal investorUsedLoanLimit;

        /**
         * 放款可用额度
         * 表字段:investor_avail_loan_limit
         */
        @ApiModelProperty(value = "放款可用额度", name = "investorAvailLoanLimit")
        private BigDecimal investorAvailLoanLimit;

        public String getCreditApproveFlag() {
            return creditApproveFlag;
        }

        public void setCreditApproveFlag(String creditApproveFlag) {
            this.creditApproveFlag = creditApproveFlag;
        }

        public String getLoanApproveFlag() {
            return loanApproveFlag;
        }

        public void setLoanApproveFlag(String loanApproveFlag) {
            this.loanApproveFlag = loanApproveFlag;
        }

        public BigDecimal getInvestorCreditLimit() {
            return investorCreditLimit;
        }

        public void setInvestorCreditLimit(BigDecimal investorCreditLimit) {
            this.investorCreditLimit = investorCreditLimit;
        }

        public BigDecimal getInvestorUsedCreditLimit() {
            return investorUsedCreditLimit;
        }

        public void setInvestorUsedCreditLimit(BigDecimal investorUsedCreditLimit) {
            this.investorUsedCreditLimit = investorUsedCreditLimit;
        }

        public BigDecimal getInvestorAvailCreditLimit() {
            return investorAvailCreditLimit;
        }

        public void setInvestorAvailCreditLimit(BigDecimal investorAvailCreditLimit) {
            this.investorAvailCreditLimit = investorAvailCreditLimit;
        }

        public BigDecimal getInvestorLoanLimit() {
            return investorLoanLimit;
        }

        public void setInvestorLoanLimit(BigDecimal investorLoanLimit) {
            this.investorLoanLimit = investorLoanLimit;
        }

        public BigDecimal getInvestorUsedLoanLimit() {
            return investorUsedLoanLimit;
        }

        public void setInvestorUsedLoanLimit(BigDecimal investorUsedLoanLimit) {
            this.investorUsedLoanLimit = investorUsedLoanLimit;
        }

        public BigDecimal getInvestorAvailLoanLimit() {
            return investorAvailLoanLimit;
        }

        public void setInvestorAvailLoanLimit(BigDecimal investorAvailLoanLimit) {
            this.investorAvailLoanLimit = investorAvailLoanLimit;
        }

        public String getTenantId() {
                return tenantId;
            }

        public void setTenantId(String tenantId) {
            this.tenantId = tenantId;
        }

        /**
         * 获取主键
         *
         * @return id Long
         */
        public Long getId() {
            return id;
        }

        /**
         * 设置主键
         *
         * @param id
         */
        public void setId(Long id) {
            this.id = id;
        }

        /**
         * 获取出资方id
         *
         * @return InvestorId String
         */
        public String getInvestorId() {
            return InvestorId;
        }

        /**
         * 设置出资方id
         *
         * @param InvestorId
         */
        public void setInvestorId(String InvestorId) {
            this.InvestorId = InvestorId;
        }

        /**
         * 获取资金源机构号
         *
         * @return organizationId String
         */
        public String getOrganizationId() {
            return organizationId;
        }

        /**
         * 设置资金源机构号
         *
         * @param organizationId
         */
        public void setOrganizationId(String organizationId) {
            this.organizationId = organizationId;
        }

        /**
         * 获取中文名称
         *
         * @return chineseName String
         */
        public String getChineseName() {
            return chineseName;
        }

        /**
         * 设置中文名称
         *
         * @param chineseName
         */
        public void setChineseName(String chineseName) {
            this.chineseName = chineseName;
        }

        /**
         * 获取英文名称
         *
         * @return englishName String
         */
        public String getEnglishName() {
            return englishName;
        }

        /**
         * 设置英文名称
         *
         * @param englishName
         */
        public void setEnglishName(String englishName) {
            this.englishName = englishName;
        }

        public String getTableStatus() {
            return tableStatus;
        }

        public void setTableStatus(String tableStatus) {
            this.tableStatus = tableStatus;
        }

        public String getTableType() {
            return tableType;
        }

        public void setTableType(String tableType) {
            this.tableType = tableType;
        }

        /**
         * 获取机构法人
         *
         * @return legalPerson String
         */
        public String getLegalPerson() {
            return legalPerson;
        }

        /**
         * 设置机构法人
         *
         * @param legalPerson
         */
        public void setLegalPerson(String legalPerson) {
            this.legalPerson = legalPerson;
        }

        /**
         * 获取电话号码
         *
         * @return phone String
         */
        public String getPhone() {
            return phone;
        }

        /**
         * 设置电话号码
         *
         * @param phone
         */
        public void setPhone(String phone) {
            this.phone = phone;
        }

        /**
         * 获取偏好值
         *
         * @return preferenceValue Integer
         */
        public Integer getPreferenceValue() {
            return preferenceValue;
        }

        /**
         * 设置偏好值
         *
         * @param preferenceValue
         */
        public void setPreferenceValue(Integer preferenceValue) {
            this.preferenceValue = preferenceValue;
        }

        /**
         * 获取手续费率
         *
         * @return feeRate BigDecimal
         */
        public BigDecimal getFeeRate() {
            return feeRate;
        }

        /**
         * 设置手续费率
         *
         * @param feeRate
         */
        public void setFeeRate(BigDecimal feeRate) {
            this.feeRate = feeRate;
        }

        /**
         * 获取机构单笔贷款最大值
         *
         * @return singleMaxLimit BigDecimal
         */
        public BigDecimal getSingleMaxLimit() {
            return singleMaxLimit;
        }

        /**
         * 设置机构单笔贷款最大值
         *
         * @param singleMaxLimit
         */
        public void setSingleMaxLimit(BigDecimal singleMaxLimit) {
            this.singleMaxLimit = singleMaxLimit;
        }

        /**
         * 获取机构单笔贷款最小值
         *
         * @return singleMinLimit BigDecimal
         */
        public BigDecimal getSingleMinLimit() {
            return singleMinLimit;
        }

        /**
         * 设置机构单笔贷款最小值
         *
         * @param singleMinLimit
         */
        public void setSingleMinLimit(BigDecimal singleMinLimit) {
            this.singleMinLimit = singleMinLimit;
        }

        /**
         * 获取代偿标识
         *
         * @return compensationFlag String
         */
        public String getCompensationFlag() {
            return compensationFlag;
        }

        /**
         * 设置代偿标识
         *
         * @param compensationFlag
         */
        public void setCompensationFlag(String compensationFlag) {
            this.compensationFlag = compensationFlag;
        }

        /**
         * 获取代偿天数
         *
         * @return compensationDays Integer
         */
        public Integer getCompensationDays() {
            return compensationDays;
        }

        /**
         * 设置代偿天数
         *
         * @param compensationDays
         */
        public void setCompensationDays(Integer compensationDays) {
            this.compensationDays = compensationDays;
        }

        /**
         * 获取连续代偿期数
         *
         * @return continuousCompensationTenors Integer
         */
        public Integer getContinuousCompensationTenors() {
            return continuousCompensationTenors;
        }

        /**
         * 设置连续代偿期数
         *
         * @param continuousCompensationTenors
         */
        public void setContinuousCompensationTenors(Integer continuousCompensationTenors) {
            this.continuousCompensationTenors = continuousCompensationTenors;
        }

        /**
         * 获取累计代偿期数
         *
         * @return totalCompensationTenors Integer
         */
        public Integer getTotalCompensationTenors() {
            return totalCompensationTenors;
        }

        /**
         * 设置累计代偿期数
         *
         * @param totalCompensationTenors
         */
        public void setTotalCompensationTenors(Integer totalCompensationTenors) {
            this.totalCompensationTenors = totalCompensationTenors;
        }

        /**
         * 获取是否回购标志
         *
         * @return balTransFlag String
         */
        public String getBalTransFlag() {
            return balTransFlag;
        }

        /**
         * 设置是否回购标志
         *
         * @param balTransFlag
         */
        public void setBalTransFlag(String balTransFlag) {
            this.balTransFlag = balTransFlag;
        }

        /**
         * 获取回购期数
         *
         * @return balTransTenors Integer
         */
        public Integer getBalTransTenors() {
            return balTransTenors;
        }

        /**
         * 设置回购期数
         *
         * @param balTransTenors
         */
        public void setBalTransTenors(Integer balTransTenors) {
            this.balTransTenors = balTransTenors;
        }

        /**
         * 获取机构备付金账户
         *
         * @return prepaidAccount String
         */
        public String getPrepaidAccount() {
            return prepaidAccount;
        }

        /**
         * 设置机构备付金账户
         *
         * @param prepaidAccount
         */
        public void setPrepaidAccount(String prepaidAccount) {
            this.prepaidAccount = prepaidAccount;
        }

        /**
         * 获取机构备付金账户阈值
         *
         * @return prepaidThresholdAmount BigDecimal
         */
        public BigDecimal getPrepaidThresholdAmount() {
            return prepaidThresholdAmount;
        }

        /**
         * 设置机构备付金账户阈值
         *
         * @param prepaidThresholdAmount
         */
        public void setPrepaidThresholdAmount(BigDecimal prepaidThresholdAmount) {
            this.prepaidThresholdAmount = prepaidThresholdAmount;
        }

        /**
         * 获取垫资备付金账户
         *
         * @return transitAccount String
         */
        public String getTransitAccount() {
            return transitAccount;
        }

        /**
         * 设置垫资备付金账户
         *
         * @param transitAccount
         */
        public void setTransitAccount(String transitAccount) {
            this.transitAccount = transitAccount;
        }

        /**
         * 获取垫资备付金账户阈值
         *
         * @return transitThresholdAmount BigDecimal
         */
        public BigDecimal getTransitThresholdAmount() {
            return transitThresholdAmount;
        }

        /**
         * 设置垫资备付金账户阈值
         *
         * @param transitThresholdAmount
         */
        public void setTransitThresholdAmount(BigDecimal transitThresholdAmount) {
            this.transitThresholdAmount = transitThresholdAmount;
        }

        /**
         * 获取机构风险
         *
         * @return risk String
         */
        public String getRisk() {
            return risk;
        }

        /**
         * 设置机构风险
         *
         * @param risk
         */
        public void setRisk(String risk) {
            this.risk = risk;
        }

        public String getOrgScale() {
            return orgScale;
        }

        public void setOrgScale(String orgScale) {
            this.orgScale = orgScale;
        }

        public String getUpdateBy() {
            return updateBy;
        }

        public void setUpdateBy(String updateBy) {
            this.updateBy = updateBy;
        }
    }